Apparatus and methods for provisioning devices to utilize services of mobile network operators

ABSTRACT

A system that incorporates teachings of the subject disclosure may include, for example, a method for facilitating, at a system including at least one processor, establishment of a communication session with a device coupled to a Universal Integrated Circuit Card (UICC) by way of network equipment of a default Mobile Network Operator (MNO), receiving, at the system, information descriptive of an MNO selection, selecting, at the system, from a database of credentials of a plurality of MNOs first credential information according to the received information, wherein the first credential information is associated with a first MNO of the plurality of MNOs, and transmitting, from the system, the first credential information to the UICC over the communication session by way of the device to cause the UICC to facilitate establishment of communications with network equipment of the first MNO according to the first credential information. Other embodiments are disclosed.

CROSS REFERENCE TO RELATED APPLICATION

This application is a divisional of and claims priority to U.S. patent application Ser. No. 15/264,289, filed Sep. 13, 2016, which is a continuation of and claims priority to U.S. patent application Ser. No. 14/839,249, (now U.S. Pat. No. 9,467,857) filed Aug. 28, 2015, which is a continuation of and claims priority to U.S. patent application Ser. No. 13/473,106 (now U.S. Pat. No. 9,148,785), filed May 16, 2012. The contents of each of the foregoing are hereby incorporated by reference into this application as if set forth herein in full.

FIELD OF THE DISCLOSURE

The subject disclosure relates generally to an apparatus and methods for provisioning devices to utilize services of mobile network operators.

BACKGROUND

Mobile Network Operators (MNOs) generally provide each subscriber a Universal Integrated Circuit Card (UICC), commonly known as a Subscriber Identity Module or SIM card, which enables authentication and access to a mobile network and provides identifiers that allow equipment of the MNO to account for service usage and to bill the subscriber accordingly. The SIM card is removable by the subscriber and can be inserted in any compatible device, providing continuity of network access service from device to device. A user can switch to another MNO by physically swapping SIM cards in their device.

In an environment involving machine-to-machine communications, it is common for a UICC to be placed in harsh environments such as a communication device located in an automobile engine, or atop a streetlight, which is not easily accessible. In such applications the UICC is often embedded in the communication device and not physically replaceable. When a subscriber of a device utilizing an embedded UICC wishes to switch to another MNO, the subscriber may have to replace the device if the embedded UICC is not configured to be re-provisioned.

BRIEF DESCRIPTION OF THE DRAWINGS

Reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:

FIG. 1 depicts an illustrative embodiment of a communication device;

FIG. 2 depicts an illustrative embodiment of a system including mobile network operators (MNOs) and communication devices communicatively coupled thereto;

FIG. 3 depicts an illustrative embodiment of a mapping of services provided by the MNOs and software applications operating from one or more of the communication devices of FIG. 2;

FIG. 4 depicts an illustrative embodiment of a communication device utilizing a Universal Integrated Circuit Card (UICC) to supporting among other things enablement of software applications operating from the communication device;

FIG. 5 depicts an illustrative embodiment of a method for transitioning between the MNOs of FIG. 2;

FIG. 6 depicts an illustrative embodiment of a system for provisioning end user terminals including a UICC to utilize services of one of a plurality of MNOs;

FIG. 7 depicts an illustrative embodiment of a method for provisioning the UICC of the end user terminal of FIG. 6; and

FIG. 8 is a diagrammatic representation of a machine in the form of a computer system within which a set of instructions, when executed, may cause the machine to perform any one or more of the methods described herein.

DETAILED DESCRIPTION

The subject disclosure describes, among other things, illustrative embodiments for provisioning UICCs to utilize services of MNOs. Other embodiments are contemplated by the subject disclosure.

One embodiment of the subject disclosure includes a Universal Integrated Circuit Card (UICC) including a memory storing computer instructions, and processor coupled to the memory. The processor responsive to executing the computer instructions can perform operations including retrieving from the memory first credential information for initiating MNO selection services by way of a default MNO, facilitating establishment of communication services with network equipment of the default MNO according to the first credential information, initiating a communication session with service equipment by way of the network equipment of the default MNO, presenting at a user interface of a device coupled to the UICC a plurality of selectable options for selecting one of a plurality of MNOs from which to receive communication services, detecting a selection from the plurality of selectable options, wherein the selection identifies a first MNO selected from the plurality of MNOs, transmitting to the service equipment information descriptive of the selection of the first MNO, receiving from the service equipment second credential information, and facilitating establishment of communication services with network equipment of the first MNO according to the second credential information.

One embodiment of the subject disclosure includes a computer-readable storage medium including computer instructions which, responsive to being executed by at least one processor of a UICC, cause the at least one processor to perform operations including identifying first credential information associated with a default MNO, facilitating establishment of communication services with network equipment of the default MNO according to the first credential information, initiating a communication session with service equipment by way of the network equipment of the default MNO, receiving from the service equipment second credential information associated with a first MNO selected by equipment of a commercial enterprise, and facilitating establishment of communication services with network equipment of the first MNO according to the second credential information.

One embodiment of the subject disclosure includes a method for facilitating, at a system including at least one processor, establishment of a communication session with a device coupled to a Universal Integrated Circuit Card (UICC) by way of network equipment of a default Mobile Network Operator (MNO), receiving, at the system, information descriptive of an MNO selection, selecting, at the system, from a database of credentials of a plurality of MNOs first credential information according to the received information, wherein the first credential information is associated with a first MNO of the plurality of MNOs, and transmitting, from the system, the first credential information to the UICC over the communication session by way of the device to cause the UICC to facilitate establishment of communications with network equipment of the first MNO according to the first credential information.

One embodiment of the subject disclosure includes a UICC having a memory storing computer instructions, and a processor coupled to the memory. The processor responsive to executing the computer instructions can perform operations including storing parametric information descriptive of operational features of a plurality of software applications executable by the UICC or a device communicatively coupled to the UICC, where the plurality of software applications when executed makes use of services provided by equipment of a first MNO. When executing the computer instructions, the processor can also perform operations including detecting an event indicating that the plurality of software applications are to utilize services provided by equipment of a second MNO, transmitting to the equipment of the second MNO the parametric information descriptive of the operational features of the plurality of software applications to configure the services provided by the equipment of the second MNO to interoperate with the plurality of software applications when executed, and causing or enabling execution of a first software application of the plurality of software applications to interact with at least one of the configured services provided by the equipment of the second MNO.

One embodiment of the subject disclosure includes a computer-readable storage medium including computer instructions which, responsive to being executed by at least one processor of a UICC, cause the at least one processor to perform operations including storing parametric information descriptive of operational features of a plurality of software applications, where the plurality of software applications when executed makes use of services provided by equipment of a first MNO. When executing the computer instructions, the at least one processor can also perform operations including detecting an event indicating that the plurality of software applications are to utilize services provided by equipment of a second MNO, and transmitting to the equipment of the second MNO the parametric information descriptive of the operational features of the plurality of software applications to configure the services provided by the equipment of the second MNO to interoperate with the plurality of software applications.

One embodiment of the subject disclosure includes a method storing, at a Universal Integrated Circuit Card (UICC) including at least one processor, parametric information descriptive of operational features of a plurality of software applications, where the plurality of software applications when executed makes use of services provided by equipment of a first MNO. The method can further include detecting, at the UICC, an event indicating that the plurality of software applications are to utilize services provided by equipment of a second MNO, and causing, from the UICC, a transmission of the parametric information descriptive of the operational features of the plurality of software applications to the equipment of the second MNO.

FIG. 1 depicts an illustrative embodiment of a communication device 100. The communication device 100 can represent a number of possible device types such as, for example, a cellular telephone, a personal digital assistance, a smart phone, a tablet, a portable computer such as a laptop, an industrial device for providing telemetry information to a central station for monitoring, diagnostics, mitigation or other suitable functions. Multiple variants of the communication device 100 are thus contemplated by the subject disclosure.

The communication device 100 can comprise a wireline and/or wireless transceiver 102 (herein transceiver 102), a user interface (UI) 104, a power supply 114, a location receiver 116, a motion sensor 118, an orientation sensor 120, a UICC 121, and a controller 106 for interacting with or managing operations thereof. The transceiver 102 can support short-range or long-range wireless access technologies such as BLUETOOTH®, ZIGBEE®, WIFI®, Digital Enhanced Cordless Telecommunications (DECT™), or cellular communication technologies, just to mention a few. Cellular technologies can include, for example, CDMA-1X, UMTS/HSDPA, GSM/GPRS, TDMA/EDGE, EV/DO, WIMAX™, software defined radio (SDR), Long Term Evolution (LTE), as well as other next generation wireless communication technologies as they arise. The transceiver 102 can also be adapted to support circuit-switched wireline access technologies (such as Public Switched Telephone Network or PSTN), packet-switched wireline access technologies (such as TCP/IP, VoIP, IP Multimedia Subsystems or IMS, etc.), and combinations thereof.

The UI 104 can include a depressible or touch-sensitive keypad 108 with a navigation mechanism such as a roller ball, a joystick, a mouse, or a navigation disk for manipulating operations of the communication device 100. The keypad 108 can be an integral part of a housing assembly of the communication device 100 or an independent device communicatively coupled thereto by a tethered wireline interface (such as a USB cable) or a wireless interface supporting for example BLUETOOTH®. The keypad 108 can represent a numeric keypad commonly used by phones, and/or a QWERTY keypad with alphanumeric keys.

The UI 104 can further include a display 110 such as monochrome or color LCD (Liquid Crystal Display), OLED (Organic Light Emitting Diode) or other suitable display technology for conveying images to an end user of the communication device 100. In an embodiment where the display 110 is touch-sensitive, a portion or all of the keypad 108 can be presented by way of the display 110 with navigation features. The display 110 can be an integral part of the housing assembly of the communication device 100 or an independent device communicatively coupled to the communication device 100 by a tethered wireline interface (such as a cable) or a wireless interface.

The UI 104 can also include an audio system 112 that utilizes common audio technology for conveying low volume audio (such as audio heard only in the proximity of a human ear) and high volume audio (such as speakerphone for hands free operation). The audio system 112 can further include a microphone for receiving audible signals of an end user. The audio system 112 can also be used for voice recognition applications. The UI 104 can further include an image sensor 113 such as a charged coupled device (CCD) camera for capturing still or moving images.

The power supply 114 can utilize common power management technologies such as replaceable and rechargeable batteries, supply regulation technologies, and/or charging system technologies for supplying energy to the components of the communication device 100 to facilitate long-range or short-range portable applications. Alternatively, the charging system can utilize external power sources such as DC power supplied over a physical interface such as a USB port or other suitable tethering technologies.

The location receiver 116 can utilize location technology such as a global positioning system (GPS) receiver capable of assisted GPS for identifying a location of the communication device 100 based on signals generated by a constellation of GPS satellites, which can be used for facilitating location services such as navigation. The motion sensor 118 can utilize motion sensing technology such as an accelerometer, a gyroscope, or other suitable motion sensing technology to detect motion of the communication device 100 in three-dimensional space. The orientation sensor 120 can utilize orientation sensing technology such as a magnetometer to detect the orientation of the communication device 100 (north, south, west, and east, as well as combined orientations in degrees, minutes, or other suitable orientation metrics).

The UICC 121 can be utilized for storing data to enable the communication device 100 to, among other things, establish communications with a communication network such as a cellular base station, support enablement of software applications stored in the UICC or a memory of the communication device 100 that makes use of services provided by the communication network. The data stored in the UICC 121 can include, for example, an International Mobile Subscriber Identity (IMSI), a personal phone book, executable software applications purchased by the subscriber, a mapping of services between the software applications and services of a communication network, MNO policy files, and other information as will be described below.

Depending on the communication protocol or the applicable use of the UICC 121, the UICC 121 can be referred to as a subscriber identity module (SIM), a Removable User Identity Module (RUIM), an embedded UICC (eUICC), an embedded SIM (eSIM), and so on. An eUICC or eSIM can represent UICC devices that are integrated by soldering the device onto a printed circuit board of the communication device 100, by attaching the device to a housing assembly of the communication 100, or by software integration of the UICC functions in an existing processor of the communication device 100. Present and next generation physical and operational variants of the UICC 121 are contemplated by the present disclosure.

The controller 106 can utilize computing technologies such as a microprocessor, a digital signal processor (DSP), and/or a video processor with associated storage memory such as Flash, ROM, RAM, SRAM, DRAM or other storage technologies for executing computer instructions, controlling, and processing data supplied by the aforementioned components of the communication device 100.

The controller 106 can be communicatively coupled to a device 115 that can supply telemetry data (e.g., an automobile, a utility meter, etc.). In one embodiment, the communication device 100 can be an integral part of the device 115. In another embodiment, the communication device 100 can be co-located and communicatively coupled to the device 115 by way of a physical or wireless communication interface.

FIG. 2 depicts a system 200 with illustrative embodiments of the communication device 100. In one embodiment, the communication device 100 can represent a consumer device such as a cellular telephone 202, a computer or laptop 204. In a commercial setting, the communication device 100 can be communicatively coupled to a vending machine 206, a utility meter 208, a parking meter 210, a commercial transport vehicle 212, or an automobile 214. In these latter embodiments, the UICC 121 can be an embedded (non-removable) device. The embodiments of the communication device 100 shown in FIG. 2 can be operable to facilitate establishment of communications with mobile network operator (MNO) 201 or mobile network operator 203. MNO 201 and MNO 203 can operate according to common wireless access protocols such as Global System for Mobile or GSM, Code Division Multiple Access or CDMA, Time Division Multiple Access or TDMA, Universal Mobile Telecommunications or UMTS, World interoperability for Microwave or WIMAX™, Software Defined Radio or SDR, Long Term Evolution or LTE, and so on.

MNO 201 or MNO 203 provide wireless communication services to subscriber devices in large regions such as cities, states, and nationally. MNO 201 and MNO 203 are generally independently operated businesses. Consequently, the services provided by MNO 201 and MNO 203 may differ in ways that may cause interoperability issues when the software applications supported by UICC 121 of a communication device 100 attempt to utilize the services of a new MNO.

FIG. 3 depicts an illustrative embodiment of a mapping of services provided by the MNOs to software applications operating from the communication devices of FIG. 2. MNO services can include, for example, text messaging services such as Short Messaging Service (SMS), multimedia messaging such as Multimedia Messaging Service (MMS), location services, identity services, third party services, cloud services, and authentication services by way of public key infrastructure (PKI) certificates, just to mention a few. Software applications executed from the communication devices of FIG. 2 can make use of the MNO services. For example, a software application for tracking weather can make use of SMS messages for alerts, and location services to identify weather conditions relative to the location of the communication device. Cloud phonebook software applications can utilize Cloud services of the MNO (e.g., an enterprise directory or personal directories stored on a webserver).

Mobile payment or ecommerce services can make use of SMS messaging, identity services, and third party services (e.g., PayPal™). Subscriber to subscriber messaging applications can make use of SMS and MMS messaging. Protected content that relies on Digital Rights Management (DRM) rules can make use of identify services and PKI certificate services of the MNO. In a commercial setting where telemetry data or other useful metrics are being monitored by commercial enterprises, such enterprises may have arrangements with the MNO to link subscriber devices in the field (e.g., at a vending machine, utility meter, etc. as shown in FIG. 2) with processing devices of the commercial enterprise such as servers.

Subscribers such as consumers and business enterprises can invest in software applications such as described above. When a subscriber chooses to switch to a new MNO, the services of the new MNO may not operate in the same manner as the prior MNO, thereby causing interoperability issues with the software applications supported by the UICC 121. In one embodiment, the interoperability issues can be resolved with a communication device 400 configured with a UICC 404 that supports, among other things, operations of software applications operating from the communication device 400 as shown in FIG. 4.

Communication device 400 depicts an end user terminal 402 utilizing an UICC 404 with a service continuity application (SCA) 406. The SCA 406 can comprise a processing engine 408 that executes software modules such as a notification engine module 410, an MNO policy file system module 412, an event listener module 414, and a local application registry module 416 which can link to local software applications 418 executable by the UICC 402, and software applications 420 external to the UICC 402 and executable by a processor of the end user terminal 402.

The functional modules of the SCA 406 can be described as follows:

The processing engine 408 mediates interactions between functional modules of the SCA 406 and directs configuration updates to software applications resident in the UICC 402 or externally controlled by the UICC 402. The processing engine 408 can also send configuration updates to an MNO via a provisioning service 430, and an application trust service 432 having access to a global application registry 434 to identify software applications trusted by the MNO.

The notification engine module 410 can trigger external actions such as a device management session with the MNO's core network to initiate device provisioning, or information to be displayed to the user, such as ownership transfer instructions or advice on trust status of software applications.

The policy file system module 412 stores files provided by the MNO containing information necessary to ensure service continuity of user software applications such as network service configuration parameters, access and management permissions for user software applications utilizing MNO services, DRM rights certificate updates, and ownership transfer instructions.

The event listener module 414 detects a change from one MNO to another, as well as changes to the local application registry 416 indicating software applications were added or deleted.

The local application registry module 416 contains a mapping between all installed software applications and the network services and configuration parameters they require.

The SCA 406 can be installed in the end user terminal 402 by way of an embedded UICC 404 or removable UICC 404. The SCA 406 can be configured to monitor for MNO switch events. This is accomplished in the event listener module 414. The event listener module 414 is also responsible to react to application change events (add, delete, update, etc.) in order to trigger the processing/reprocessing of service continuity rules.

Software applications installed in the end user terminal 402 can be registered with the local application registry module 416. Upon receiving triggering events from the event listener module 414, the processing engine 408 can perform a trust lookup with the MNO trust service 432 to request the updated trust level for all local and external software applications 418, 420 operating from the UICC 404 or end user terminal 402 based on the MNO's own trust model. A software application can be considered trusted by one MNO but can be considered untrusted by another depending on factors determined by the MNO such as, for example, bandwidth utilization of the application, an identity of the author of the application, compliance with DRM rules, or other criteria deemed important to service personnel of the MNO.

The MNO provisioning service 430 can generate a new Device Policy Update (DPA) file during the transition process. MNO DPA files can be stored locally in the UICC 404 and can be updated based on the MNO switch event and an application change event detected by the MNO provisioning service 430. The processing engine 408 can be configured to cross reference installed software applications with an MNO Policy File to determine dependencies, and rules and to update the configuration settings of the software application.

Upon processing the rules and making all the necessary configuration updates to the affected software applications as defined by a policy file supplied by the MNO, the processing engine 408 can cause the notification engine module 410, as required, to trigger mechanisms to notify a user of the end user terminal 402, the MNO or third parties about the changes applied to the software application's configuration, and or trigger a device management session to initiate further device provisioning with provisioning service 430 of the MNO.

It should be noted that the end user terminal 402 depicted in FIG. 4 can be replaced with an integrated fixed-location communication device situated, for example, in the vending machine 206, the utility meter 208, the parking meter 210 or the vehicles 212 or 214 shown in FIG. 2.

FIG. 5 depicts an illustrative embodiment of a method 500 for transitioning between services provided by the MNOs 202 and 204 of FIG. 2 utilizing, for example, the communication device 400 of FIG. 4. Method 500 can begin with step 502 in which the UICC 404 stores service mappings and parametric information in the local registry module 416. The mappings can represent service to software application mappings similar to those shown in FIG. 3. The parametric information can represent configuration information which is used by an MNO service to configure the service to interoperate with one or more of the software applications 418 and 420. The parametric information can also represent configuration information used to configure the software applications 418 and 420 in accordance with service policy information stored in the file system 412. In step 504, the UICC 404 can cause or enable all or some of the software applications 418 and 420 to be executed. At step 506, the UICC 404 can track when a software application update has taken place.

A software application update can represent a deletion of an existing software application, a modification, version update, or reconfiguration of an existing software application, or an addition of a new software application. The update of a software application can result from user input, external messages received by the end user terminal 402, or other suitable techniques for updating software applications supported by the UICC 404. If a software application update is detected at step 506, the UICC 404 can proceed to update the registry 416, and if needed, inform the MNO of the update by way of, for example, the provisioning service 430 and/or the application trust service 432.

If a software update has not been detected, the UICC 404 can proceed to step 510 where it monitors events for transitioning between MNOs (e.g., transitioning from MNO 202 to MNO 204 of FIG. 2). The transition between MNOs can be initiated by the subscriber at any time by, for example, establishing a new agreement with an MNO. If a transition event is not detected at step 510, the UICC 404 continues to execute or enable software applications as requested at step 504 and monitor software updates at step 506. If an MNO transition is detected, the UICC 404 can proceed to step 516 where the UICC transmits to the second MNO via the end user terminal 402 parametric information descriptive of software applications resident in the UICC 404 and external to the UICC 404.

The parametric information can include, for example, the names, versions, model no's, serial no's, or other identification data of the software applications along with information descriptive of the MNO services desired by each software application, and the operational features, conditions, or requirements necessary to configure the MNO services to interoperate with the software applications. At step 518, the second MNO can review by way of the application trust service 432 the identity of the software applications and determine if the software applications are trusted by the second MNO. Trust criteria can be established by the second MNO. Software applications that were trusted by the first MNO may not be trusted by the second MNO because, for example, personnel of the second MNO have determined that allowing a particular software application can cause network congestion, interoperability issues with the services of the second MNO, or the software application is not recognized by the second MNO, or has known defects that have not been mitigated to the satisfaction of personnel of the second MNO. Other criteria may be defined by the second MNO. Such criteria can be updated periodically and result in a previously trusted software application no longer being trusted.

If a software application is not trusted, the UICC 404 can proceed to step 520 where it generates a notification by way of, for example, the notification engine module 410. The notification may be submitted to the user of the end user terminal 402. The user can be presented, for example, with a GUI that informs the user that some services cannot be supported by the second MNO. For any and all software applications that have been determined to be trusted by the second MNO at step 518, the second MNO proceeds to step 522 where it configures its services by providing appropriate parametric information to the UICC 404.

At step 524, the second MNO transmits policy and parametric information to the UICC 404 which it stores in the MNO Policy files 412 at step 526. The policy information can represent usage policies for defining proper usage of services provided by the MNO, while the parametric information can include operational information such as server addresses for accessing services of the MNO. In the same step, the UICC 404 can utilize configuration information provided in the policy files to update the local registry module 416 and thereby configure operational parameters of the software applications. The configuration of the services of the second MNO and the policy information used to configure the software applications supported by the UICC 404 enables the software applications and the MNO services to be interoperable. At step 528, the UICC 404 can execute one or more local software applications 418 requested by user input or by automated schedules. Alternatively, the UICC 404 can enable by way of the configuration information stored in the registry 416 one or more external software applications 420 for execution by a processor of the end user terminal 402 according to user input detected thereby. If interactions between the MNO services and the software applications do not cause execution errors or trigger alarms at either the second MNO or the software applications, then the UICC 404 can proceed to step 534 to update the registry module 416 with new mappings and updated parametric data descriptive of the requirements set by the second MNO via the policy files.

The UICC 404 can also be configured to present at step 536 a GUI to prompt the subscriber if necessary. The prompt can present, for example, a new fee schedule for utilizing the MNO services if a fee agreement was not pre-arranged, or if new service options are offered by the second MNO. The prompt can also confirm to the subscriber that the transition was successful and that the software applications are successfully utilizing the MNO services. If, on the other hand, one or more software applications did not successfully interoperate with the MNO services, the new MNO can notify the UICC 404 at step 532 that an error has occurred. The UICC 404 can be configured to notify the subscriber of the issue and remain communicatively coupled to the second MNO while other software applications not having interoperability issues continue to be serviced by the second MNO. The subscriber can, among other things, contact personnel of the second MNO to address the error.

The foregoing embodiments provide a suitable solution for maintaining interoperability between MNO services and software applications during a transition between MNOs without requiring a replacement of the UICC.

FIG. 6 depicts an illustrative embodiment of a system 700 for provisioning end user terminals including a UICC to utilize services of one of a plurality of MNOs. FIG. 7 depicts an illustrative embodiment of a method 700 for provisioning the UICC of the end user terminal of FIG. 6. Method 700 begins with step 702 in which a bootstrap UICC retrieves credentials of a default MNO. In the present context the term “bootstrap” can represent an initial provisioning of the UICC with credentials of one or more default MNOs (bootstrap MNOs). The credentials of the default MNOs can be stored in the UICC at the time the UICC is manufactured, installed in end user terminal, or provisioned with a default setting by other suitable means.

At step 704, the UICC can cause the end user terminal to facilitate communications with the default MNO according to the credentials. At step 706, the UICC can initiate a secure communication session with service equipment that stores and distributes MNO credentials. The service equipment can be equipment of a UICC vendor, equipment of the default MNO, or equipment of a third party responsible for maintaining, and distributing MNO credentials. At step 708, the service equipment sends MNO options to the UICC via the secure communication session, or to equipment of an enterprise for presenting selectable options for MNOs. In one embodiment, the UICC causes the end user terminal to present at a user interface (e.g., display) selectable MNO options to a user of the end user terminal. Alternatively, in a commercial setting, the equipment of the enterprise presents selectable MNO options to personnel at a computer terminal. The enterprise personnel can be tasked to manage selection of MNOs for end user terminals of the enterprise based on usage policies of the enterprise.

At step 714, the service equipment can detect one or more MNO selections and proceed to step 716 to retrieve credentials of the selected MNO(s) and transmit the credentials to the UICC. In an enterprise setting, the enterprise personnel may select more than one MNO for backup purposes (e.g., preferred MNO and backup MNO). Accordingly, when a preferred MNO experiences a communication fault, the UICC can be configured with credentials of a backup MNO. Such a configuration enables enterprise customers to increase the reliability of communication services provided to end user terminals of the enterprise. At step 718, the UICC updates the registry with the received credentials of the MNO(s). At step 718, the end user terminal utilizes the UICC to facilitate termination of communication services with the default MNO and thereafter initiates in step 722 communication services with the selected MNO according to the credentials provided in the registry of the UICC. If a backup MNO is provided, the end user terminal or the UICC can monitor communication faults with the preferred MNO at step 724, and if a fault is detected, cause the end user terminal to transition to the backup MNO at step 726.

Contemporaneous with steps 718-720, the service or enterprise equipment at step 720 can be configured to send a request to the selected MNO(s) to activate subscription services for the end user terminal utilizing the UICC. At step 732, the default MNO updates network elements such as the Service Routing Point (SRP) and the Network Identity Register (NIR) to remove the UICC from its records, thereby removing the bootstrap settings. In addition, the default MNO at step 734 can record a charge for provisioning the UICC. The charge can be applied to a subscriber associated with the end user terminal or the enterprise controlling the MNO selection for end user terminals.

It should be noted that FIGS. 6-7 can be modified for additional applications. For example, the term “end user terminal” referred to in FIGS. 6 and 7 can be replaced with a non-portable terminal that may be utilized in an industrial setting such as a device attached to an automobile for delivering telemetry data to a central station, a vending machine for tracking consumer usage, and so on. Additionally, the techniques described in method 500 for maintaining continuity of services can be applied to the embodiments of method 700. Similarly, the embodiments of method 700 can be utilized to supplement the embodiments of method 500.

Upon reviewing these embodiments, it would be evident to an artisan with ordinary skill in the art that said embodiments can be modified, reduced, or enhanced without departing from the scope and spirit of the claims described below. For example, the UICC 404 and its functional modules can be integrated as software components of a microprocessor utilized by the communication device. In this embodiment, the microprocessor performs communication functions as well as the functions described above for the UICC without the additional hardware of a UICC. This embodiment can be referred to as a “soft” UICC configured according to the embodiments described herein. In the foregoing embodiments, the term “MNO” can be replaced with a Landline Network Operator (LNO). An LNO may support circuit switched or packet switched landline communications. In one embodiment, an end user terminal 402 configured with a landline interface (see transceiver 102 of FIG. 1) may be accessible by the LNO.

A UICC utilized by the end user terminal 402 with the landline interface can be configured to perform the functions of method 500 for maintaining service continuity when transitioning between LNOs. In another embodiment, an end user terminal 402 capable of landline and wireless communications, can include a UICC configured for maintaining service continuity for LNO to MNO transitions, and vice-versa. Accordingly, method 500 can be adapted for maintaining service continuity between network operators of various access technologies. Other embodiments are contemplated by the subject disclosure.

FIG. 8 depicts an exemplary diagrammatic representation of a machine in the form of a computer system 800 within which a set of instructions, when executed, may cause the machine to perform any one or more of the methods discussed above. One or more instances of the machine can operate, for example, as the communication devices 100 and 400 of FIGS. 1 and 4, their respective subcomponents, such as the UICC. In some embodiments, the machine may be connected (e.g., using a network) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client user machine in server-client user network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.

The machine may comprise a server computer, a client user computer, a personal computer (PC), a tablet PC, a smart phone, a laptop computer, a desktop computer, a control system, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. It will be understood that a communication device of the subject disclosure includes broadly any electronic device that provides voice, video or data communication. Further, while a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methods discussed herein.

The computer system 800 may include a processor (or controller) 802 (e.g., a central processing unit (CPU), a graphics processing unit (GPU, or both), a main memory 804 and a static memory 806, which communicate with each other via a bus 808. The computer system 800 may further include a video display unit 810 (e.g., a liquid crystal display (LCD), a flat panel, or a solid state display. The computer system 800 may include an input device 812 (e.g., a keyboard), a cursor control device 814 (e.g., a mouse), a disk drive unit 816, a signal generation device 818 (e.g., a speaker or remote control) and a network interface device 820.

The disk drive unit 816 may include a tangible computer-readable storage medium 822 on which is stored one or more sets of instructions (e.g., software 824) embodying any one or more of the methods or functions described herein, including those methods illustrated above. The instructions 824 may also reside, completely or at least partially, within the main memory 804, the static memory 806, and/or within the processor 802 during execution thereof by the computer system 800. The main memory 804 and the processor 802 also may constitute tangible computer-readable storage media.

Dedicated hardware implementations including, but not limited to, application specific integrated circuits, programmable logic arrays and other hardware devices can likewise be constructed to implement the methods described herein. Applications that may include the apparatus and systems of various embodiments broadly include a variety of electronic and computer systems. Some embodiments implement functions in two or more specific interconnected hardware modules or devices with related control and data signals communicated between and through the modules, or as portions of an application-specific integrated circuit. Thus, the example system is applicable to software, firmware, and hardware implementations.

In accordance with various embodiments of the subject disclosure, the methods described herein are intended for operation as software programs running on a computer processor. Furthermore, software implementations can include, but not limited to, distributed processing or component/object distributed processing, parallel processing, or virtual machine processing can also be constructed to implement the methods described herein.

While the tangible computer-readable storage medium 822 is shown in an example embodiment to be a single medium, the term “tangible computer-readable storage medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “tangible computer-readable storage medium” shall also be taken to include any non-transitory medium that is capable of storing or encoding a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methods of the subject disclosure.

The term “tangible computer-readable storage medium” shall accordingly be taken to include, but not be limited to: solid-state memories such as a memory card or other package that houses one or more read-only (non-volatile) memories, random access memories, or other re-writable (volatile) memories, a magneto-optical or optical medium such as a disk or tape, or other tangible media which can be used to store information. Accordingly, the disclosure is considered to include any one or more of a tangible computer-readable storage medium, as listed herein and including art-recognized equivalents and successor media, in which the software implementations herein are stored.

Although the present specification describes components and functions implemented in the embodiments with reference to particular standards and protocols, the disclosure is not limited to such standards and protocols. Each of the standards for Internet and other packet switched network transmission (e.g., TCP/IP, UDP/IP, HTML, HTTP) represent examples of the state of the art. Such standards are from time-to-time superseded by faster or more efficient equivalents having essentially the same functions. Wireless standards for device detection (e.g., RFID), short-range communications (e.g., BLUETOOTH®, WIFI®, ZIGBEE®), and long-range communications (e.g., WIMAX™, GSM, CDMA, LTE) are contemplated for use by computer system 800.

The illustrations of embodiments described herein are intended to provide a general understanding of the structure of various embodiments, and they are not intended to serve as a complete description of all the elements and features of apparatus and systems that might make use of the structures described herein. Many other embodiments will be apparent to those of skill in the art upon reviewing the above description. Other embodiments may be utilized and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. Figures are also merely representational and may not be drawn to scale. Certain proportions thereof may be exaggerated, while others may be minimized. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.

Although specific embodiments have been illustrated and described herein, it should be appreciated that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, are contemplated by the subject disclosure.

The Abstract of the Disclosure is provided with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separately claimed subject matter. 

What is claimed is:
 1. A communication device, comprising: a universal integrated circuit card; a processor communicatively coupled to the universal integrated circuit card; and a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations, comprising: enabling a first communication session with a first mobile network; enabling, via the universal integrated circuit card, execution of a software application accessing a first service of the first mobile network; storing, via the universal integrated circuit card, first information associated with execution of the software application accessing the first service of the first mobile network; detecting an event to trigger transition from the first mobile network to a second mobile network; enabling a second communication session with the second mobile network responsive to detection of the event to trigger transition; accessing, from the universal integrated circuit card, the first information associated with execution of the software application accessing the first service of the first mobile network; transmitting, to the second mobile network, the first information associated with execution of the software application that accesses the first service of the first mobile network, wherein the second mobile network configures a second service of the second mobile network according to the first information; and enabling, via the universal integrated circuit card, execution of the software application accessing the second service of the first mobile network.
 2. The communication device of claim 1, wherein the operations further comprise: receiving, from the second mobile network, policy information associated with the second service of the second mobile network; and storing, via the universal integrated circuit card, the policy information associated with the second service of the second mobile network.
 3. The communication device of claim 1, wherein the second mobile network activates a subscription service with the communication device.
 4. The communication device of claim 3, wherein the first mobile network terminates services with the communication device responsive to activation of the subscription service by the second mobile network.
 5. The communication device of claim 1, wherein the operations further comprise storing, via the universal integrated circuit card, second information associated with execution of the software application accessing the second service of the second mobile network.
 6. The communication device of claim 1, wherein the second mobile network determines if the software application is trusted, wherein the second mobile network notifies the communication device if the software application is not trusted.
 7. The communication device of claim 1, wherein the event to trigger transition is an agreement between a subscriber and the second mobile network.
 8. The communication device of claim 1, wherein the first information includes identification information associated with the software application, descriptive information associated with the first service that is accessed by the software application, optional features of the software application, or any combination thereof.
 9. A machine-readable storage medium, comprising executable instructions that, when executed by a processing system including a processor, facilitate performance of operations, comprising: enabling a first communication session with a first mobile network by a communication device; enabling execution of a software application accessing a first service of the first mobile network; storing, at a memory, first information associated with execution of the software application accessing the first service of the first mobile network; detecting an event to trigger transition from the first mobile network to a second mobile network; enabling a second communication session with the second mobile network responsive to detection of the event to trigger transition; accessing, at the memory, the first information associated with execution of the software application accessing the first service of the first mobile network; transmitting, to the second mobile network, the first information associated with execution of the software application that accesses the first service of the first mobile network, wherein the second mobile network configures a second service of the second mobile network according to the first information; and enabling execution of the software application accessing the second service of the first mobile network.
 10. The machine-readable storage medium of claim 9, wherein the operations further comprise storing, at the memory, second information associated with execution of the software application accessing the second service of the second mobile network.
 11. The machine-readable storage medium of claim 9, wherein the operations further comprise: receiving, from the second mobile network, policy information associated with the second service of the second mobile network; and storing, at the memory, the policy information associated with the second service of the second mobile network.
 12. The machine-readable storage medium of claim 9, wherein the second mobile network activates a subscription service with the communication device.
 13. The machine-readable storage medium of claim 12, wherein the first mobile network terminates services with the communication device responsive to activation of the subscription service by the second mobile network.
 14. The machine-readable storage medium of claim 9, wherein the second mobile network determines if the software application is trusted, wherein the second mobile network notifies the communication device if the software application is not trusted.
 15. The machine-readable storage medium of claim 9, wherein the event to trigger transition is an agreement between a subscriber and the second mobile network.
 16. A method, comprising: enabling, by a processing system including a processor, a first communication session with a first mobile network; enabling, by the processing system, execution of a software application accessing a first service of the first mobile network; storing, by the processing system, at a memory, first information associated with execution of the software application accessing the first service of the first mobile network; detecting, by the processing system, an event to trigger transition from the first mobile network to a second mobile network, wherein the event to trigger transition is an agreement between a subscriber and the second mobile network; enabling, by the processing system, a second communication session with the second mobile network responsive to detection of the event to trigger transition; accessing, by the processing system, at the memory, the first information associated with execution of the software application accessing the first service of the first mobile network; transmitting, by the processing system, to the second mobile network, the first information associated with execution of the software application that accesses the first service of the first mobile network, wherein the second mobile network configures a second service of the second mobile network according to the first information; and enabling, by the processing system, execution of the software application accessing the second service of the first mobile network.
 17. The method of claim 16, comprising: receiving, by the processing system, from the second mobile network, policy information associated with the second service of the second mobile network; and storing, by the processing system, at the memory, the policy information associated with the second service of the second mobile network.
 18. The method of claim 17, wherein the second mobile network activates a subscription service with the processing system.
 19. The method of claim 18, wherein the first mobile network terminates services with the processing system responsive to activation of the subscription service by the second mobile network.
 20. The method of claim 16, wherein the second mobile network determines if the software application is trusted, wherein the second mobile network notifies the processing system if the software application is not trusted. 